內部類別
如果在A類別裡面再定義一個B類別,這種結構稱為巢狀類別(nested classes),此時的類別A稱為外部類別(outer class),而類別B則稱為內部類別(inner class)。
內部類別也可以分為public和private,當宣告成public和private時,其存取的限制與資料成員或函數成員相同。
修飾子 class 外部類別的名稱{
//外部類別的成員
修飾子 class 內部類別名稱{
//內部類別的成員
}
}
當程式中有使用到內部類別時,JAVA會使用「$」區分該內部類別是屬於哪一個外部類別。
外部類別名稱 $ 內部類別名稱
在外部類別的建構元裡建立內部類別的物件
(1)在外部類別的建構元裡建立內部類別的物件
(2)在main()裡建立一個外部類別的物件
匿名內部類別
匿名內部類別(anonymous inner class)可以方便利用內部類別建立不具名稱的物件,並利用他存取類別裡的成員。
(
new 類別名稱(引數){
傳回值型態 函數名稱(引數1,引數2,...,引數n){
函數敘述;
}
}
).函數名稱(引數1,引數2,...,引數n);
建立匿名內部類別的用意,主要是直接用new建立類別,並捕捉內部類別裡沒有定義到的函數,且有效的簡化程式碼。
當程式中有使用匿名內部類別時,JAVA會用"$"再加上數字編號,用以區分該內部類別是屬於哪一個外部類別。
外部類別名稱 $ 數字編號
菜鳥工程師也有分享食記,歡迎大家追蹤喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link
明天就可以進入繼承啦啦啦啦啦啦~~~
See you tomorrow:))